package com.otod.pm.prj.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.otod.base.service.BaseService;
import com.otod.commons.entity.Page;
import com.otod.pm.prj.mapper.TpMapper;
import com.otod.pm.prj.vo.TpVo;

/**
 * 模板管理
 * @author jqiu
 */
@Service
@Transactional(readOnly=true)
public class TpService extends BaseService {
	
	@Autowired
	TpMapper tpMapper;

	/**
	 * 获取项目VO
	 * @param vo
	 */
	public TpVo getById(String id){
		return tpMapper.getById(id);
	}
	
	/**
	 * 获取项目VO
	 * @param vo
	 */
	public TpVo getByTpName(String tpName){
		return tpMapper.getByTpName(tpName);
	}
	
	/**
	 * 更新项目
	 */
	@Transactional
	public void updateTp(Map<String,Object> map) {
		tpMapper.update(map);
	}
	
	/**
	 * 新增项目
	 */
	@Transactional
	public TpVo addTp(TpVo vo) {
		vo.setUuid(super.getUUID());
		tpMapper.insert(vo);
		return vo;
	}
	
	/**
	 * 查询项目信息列表  
	 * @param param	参数
	 * @return	分页信息和结果数据
	 */
	public List<TpVo> queryForList(Map<String,Object> param){
		List<TpVo> dataList =  tpMapper.queryForList(param);
		return dataList;
	}
	
	/**
	 * 分页查询项目信息列表
	 * @param page	分页信息
	 * @param param	参数
	 * @return	分页信息和结果数据
	 */
	public Page queryForList(Page page,Map<String,Object> param){
		List<TpVo> dataList =  tpMapper.queryForList(page,param);
		page.setAaData(dataList);
		return page;
	}
	
	/**
	 * 删除模板 根据uuid
	 */
	@Transactional
	public void delTp(String id) {
		//删除项目
		tpMapper.deleteById(id);
	}
	
	
	
	/**
	 * 查询全部项目
	 * @param id
	 */
	public List<TpVo> findAll(){
		return tpMapper.queryForList(new HashMap<String, Object>());
	}
	

	/**
	 * 
	 * @param emp
	 * @param stuts
	 * @return
	 */
	public List<TpVo> queryPrjUuidEmp(String empNo,String status){
		Map<String, Object> param = new HashMap<String,Object>();
		param.put("empNo", empNo);
		param.put("status", status);
		return tpMapper.queryForList(param);
	}
	
}
